package com.example.apidocserver.interfaces.assembler;

import com.alibaba.druid.util.StringUtils;
import com.example.apidocserver.infrastructure.util.result.ParamException;
import com.example.apidocserver.interfaces.vo.OrderChangeVo;

import java.util.Objects;

/**
 * 通用校验字段
 *
 * @author xyqlg
 */
public class CommonAssembler {
    /**
     * 排序vo校验
     *
     * @param orderChangeVo 排序修改通用字段
     */
    public static void checkOrderVo(OrderChangeVo orderChangeVo) {
        if (Objects.isNull(orderChangeVo) || Objects.isNull(orderChangeVo.getMoveId()) ||
                Objects.isNull(orderChangeVo.getDropId()) || Objects.isNull(orderChangeVo.getType())) {
            throw new ParamException("移动对象id，移动目标id，移动类型都不能为空。");
        }
    }

    /**
     * 校验int不能为空
     *
     * @param id int
     */
    public static void checkInt(Integer id) {
        if (Objects.isNull(id)) {
            throw new ParamException("id不能为空。");
        }
    }

    /**
     * 校验string
     *
     * @param str 字符串
     */
    public static void checkStr(String str) {
        if (StringUtils.isEmpty(str)) {
            throw new ParamException("字符串不能为空。");
        }
    }
}
